package com.ghovos.usermangerpgdemo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ghovos.usermangerpgdemo.entity.DepartmentEntity;
import com.ghovos.usermangerpgdemo.entity.PermissionEntity;

import java.util.List;

/**
 * @author liulingfeng6
 */
public interface PermissionService extends IService<PermissionEntity> {
    /**
     * 获取全部的菜单信息
     * @return
     */
    List<PermissionEntity> getAllPermissionExt();

    /**
     * 更具id获取菜单信息
     * @param id
     * @return
     */
    PermissionEntity getPermissionExtById(Long id);

    /**
     * 更具id 删除菜单， 连同角色
     * @param id id
     * @return 是否删除成功
     */
    boolean deleteByIdWithRole(Long id);


    /**
     * 更新或添加permission
     * @param permissionEntity permission实体
     * @return  添加/更新后的实体
     */
    PermissionEntity saveOrUpdateWithRedis(PermissionEntity permissionEntity);

    /**
     * 初始化redis permission
     */
    void initRedisUrlRole();
}
